'Weak Dependency Graph [60.0]'
------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  rev(a()) -> a()
     , rev(b()) -> b()
     , rev(++(x, y)) -> ++(rev(y), rev(x))
     , rev(++(x, x)) -> rev(x)}

Details:         
  We have computed the following set of weak (innermost) dependency pairs:
   {  rev^#(a()) -> c_0()
    , rev^#(b()) -> c_1()
    , rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
    , rev^#(++(x, x)) -> c_3(rev^#(x))}
  
  The usable rules are:
   {}
  
  The estimated dependency graph contains the following edges:
   {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
     ==> {rev^#(++(x, x)) -> c_3(rev^#(x))}
   {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
     ==> {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
   {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
     ==> {rev^#(b()) -> c_1()}
   {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
     ==> {rev^#(a()) -> c_0()}
   {rev^#(++(x, x)) -> c_3(rev^#(x))}
     ==> {rev^#(++(x, x)) -> c_3(rev^#(x))}
   {rev^#(++(x, x)) -> c_3(rev^#(x))}
     ==> {rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))}
   {rev^#(++(x, x)) -> c_3(rev^#(x))}
     ==> {rev^#(b()) -> c_1()}
   {rev^#(++(x, x)) -> c_3(rev^#(x))}
     ==> {rev^#(a()) -> c_0()}
  
  We consider the following path(s):
   1) {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
       , rev^#(++(x, x)) -> c_3(rev^#(x))
       , rev^#(a()) -> c_0()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           a() = [0]
           b() = [0]
           ++(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0() = [0]
           c_1() = [0]
           c_2(x1, x2) = [0] x1 + [0] x2 + [0]
           c_3(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {rev^#(a()) -> c_0()}
            Weak Rules:
              {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
               , rev^#(++(x, x)) -> c_3(rev^#(x))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {rev^#(a()) -> c_0()}
            and weakly orienting the rules
            {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
             , rev^#(++(x, x)) -> c_3(rev^#(x))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {rev^#(a()) -> c_0()}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  a() = [0]
                  b() = [0]
                  ++(x1, x2) = [1] x1 + [1] x2 + [8]
                  rev^#(x1) = [1] x1 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_3(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  rev^#(a()) -> c_0()
                 , rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
                 , rev^#(++(x, x)) -> c_3(rev^#(x))}
            
            Details:         
              The given problem does not contain any strict rules
      
   2) {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
       , rev^#(++(x, x)) -> c_3(rev^#(x))
       , rev^#(b()) -> c_1()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           a() = [0]
           b() = [0]
           ++(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0() = [0]
           c_1() = [0]
           c_2(x1, x2) = [0] x1 + [0] x2 + [0]
           c_3(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {rev^#(b()) -> c_1()}
            Weak Rules:
              {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
               , rev^#(++(x, x)) -> c_3(rev^#(x))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {rev^#(b()) -> c_1()}
            and weakly orienting the rules
            {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
             , rev^#(++(x, x)) -> c_3(rev^#(x))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {rev^#(b()) -> c_1()}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  a() = [0]
                  b() = [0]
                  ++(x1, x2) = [1] x1 + [1] x2 + [8]
                  rev^#(x1) = [1] x1 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1, x2) = [1] x1 + [1] x2 + [3]
                  c_3(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  rev^#(b()) -> c_1()
                 , rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
                 , rev^#(++(x, x)) -> c_3(rev^#(x))}
            
            Details:         
              The given problem does not contain any strict rules
      
   3) {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
       , rev^#(++(x, x)) -> c_3(rev^#(x))}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           a() = [0]
           b() = [0]
           ++(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0() = [0]
           c_1() = [0]
           c_2(x1, x2) = [0] x1 + [0] x2 + [0]
           c_3(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules:
              {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
               , rev^#(++(x, x)) -> c_3(rev^#(x))}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
             , rev^#(++(x, x)) -> c_3(rev^#(x))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
               , rev^#(++(x, x)) -> c_3(rev^#(x))}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  a() = [0]
                  b() = [0]
                  ++(x1, x2) = [1] x1 + [1] x2 + [8]
                  rev^#(x1) = [1] x1 + [1]
                  c_0() = [0]
                  c_1() = [0]
                  c_2(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_3(x1) = [1] x1 + [1]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  rev^#(++(x, y)) -> c_2(rev^#(y), rev^#(x))
                 , rev^#(++(x, x)) -> c_3(rev^#(x))}
            
            Details:         
              The given problem does not contain any strict rules